1. Field of the Invention
This invention relates generally to a magnetic recording encoder system for a (1,7) channel having a 2/3 coding rate for encoding data in preparation for writing said data on a disk during a write gate signal being active and, more particularly, it relates to a magnetic encoder system for a (1,7) channel having a 2/3 coding rate for encoding data in preparation for writing said data on a disk during a write gate signal being active with a mechanism for ensuring that data during the training and write pad portions of the written data field qualify as valid data for those fields irrespective of the data being presented to the encoder.
2. Description of the Prior Art
When data is written on a disk, there must be a way to read the data back from the disk in order to synchronize the data to a clock thereby clocking the data back in the shift register. Basically, the data must be encoded as the data is written to the disk in such a fashion to guarantee that the data information will be readable from the disk over time. The length of time is limited so that every time a new piece of data information is read, the clock can be synchronized.
Various ways have been proposed in the past for increasing the recorded data density on mediums such as magnetic discs or tapes and in other similar media. One approach utilized is known as run-length-limited (RLL) coding which requires that each 1 in a coded bit sequence must be separated from the nearest adjacent 1 by a specified number of 0's. This number must be at least equal to a minimum quantity d because of inter-symbol interference but must not exceed a maximum of k which is required for self-clocking purposes. Codes following this RLL format are generally referred to as (d,k) run-length-limited codes. The present invention relates to a particular code suited for magnetic recording channels wherein d=1 and k=7. To convert unconstrained data into a (d,k)-constrained format generally requires that m unconstrained bits be mapped into n constrained bits, where m&lt;n. The ratio m/n is usually referred to as the coding rate or efficiency. It is obviously desirable to maximized this coding rate. The tradeoffs usually considered in maximizing the rate are the decoding look-ahead and the hardware complexity.
Raising the coding efficiency or rate at the expense of decoding look-ahead generally results in increasing the error propagation on data read back. That is, a single bit error introduced in the code stream will cause a certain number of subsequent bits to also be erroneous before the coding algorithm becomes self-correcting. It is always desirable to minimize error propagation. To this end, it has been found that a coding rate of 2/3 is optimal for the (1,7) code.
In the Adler et al, U.S. Pat. No. 4,413,251, an algorithm and hardware for producing a RLL code for magnetic recording channels is described. The system of the Adler et al patent produces sequences which have minimum of one 0 and a maximum of seven 0's between adjacent 1's. The code is generated by a sequential scheme that maps two bits of unconstrained data into three bits of constrained data. The encoder is a finite state machine whose internal state description requires three bits. The decoder requires a look-ahead of two future symbols (six bits) and its operation is chapel state independent.
While the hardware implementation of the system of the Adler et al patent is simple and can operate at very high data speeds, the Adler et al patent's system (and others like it) are generic and require knowledge within the controlling entity (controller) of the encoders encoding mechanism. Further, buffer space must be provided in the controller for the information written in the training and write pad fields. For instance, when writing the training field, data must be presented to the encoder which generates a known encoded symbol for proper symbol boundary alignment during read-back. Further, when writing the write pad field, data must be presented to the encoder which will guarantee all encoder exception processing is completed before the end of the write pad field. Both situations require knowledge of the encoders encoding mechanism if proper data is to be presented by the controller. In the latter situation, if all exception processing has not been completed at the end of the write gate signal being active then there exists a possible failure mode during read back. The decoder would require additional exception processing necessitating the reading of data beyond the end of the write pad field. The data previously encoded on the disk may not be appropriate for proper exception processing or could result in data sequences on the disk having less than one 0 or more than seven 0's between adjacent 1's. Such data sequences can produce erroneous decoded data during read back.
Accordingly, there exists a need for a system for encoding a data field on a disk in which the controller does not require knowledge of the encoding mechanism to properly write data fields on a disk in a manner appropriate for reading without introducing errors.